Ext.define('WMC.common.view.ExtKindEditor', {
      extend: 'Ext.form.field.TextArea',
      alias: 'widget.extkindeditor',//xtype名称
      initComponent: function () {
          this.html = "<textarea id='" + this.getId() + "-input' name='" + this.name + "'></textarea>";
          this.callParent(arguments);
          this.on("boxready", function (t) {
              this.inputEL = Ext.get(this.getId() + "-input");
              this.editor = KindEditor.create('textarea[name="' + this.name + '"]', {
                height: t.getHeight()-18,//有底边高度，需要减去
                width: t.getWidth() - t.getLabelWidth(),//宽度需要减去label的宽度
                basePath: '/Content/Plugin/kindeditor-4.1.5/',
                uploadJson: '/Content/Plugin/kindeditor-4.1.5/asp.net/upload_json.ashx',//路径自己改一下
                fileManagerJson: '/Content/Plugin/kindeditor-4.1.5/asp.net/file_manager_json.ashx',//路径自己改一下
                resizeType: 0,
                wellFormatMode: true,
                newlineTag: 'br',
                allowFileManager: true,
                allowPreviewEmoticons: true,
                allowImageUpload: true,
                items: [
                    'source', '|', 'undo', 'redo', '|', 'justifyleft', 'justifycenter', 'justifyright',
                    'justifyfull', 'insertorderedlist', 'insertunorderedlist', '|',
                    'formatblock', 'fontname', 'fontsize', '|', 'forecolor', 'bold',
                    'italic', 'underline', 'lineheight', '|', 'image', 'multiimage',
                    'table', 'emoticons',
                    'link', 'unlink', 'fullscreen'
                ]
            });
        });
        this.on("resize", function (t, w, h) {
            this.editor.resize(w - t.getLabelWidth(), h-18);
        });
    },
    setValue: function (value) {
        if (this.editor) {
            this.editor.html(value);
        }
    },
    reset: function () {
        if (this.editor) {
            this.editor.html('');
        }
    },
    setRawValue: function (value) {
        if (this.editor) {
            this.editor.text(value);
        }
    },
    getValue: function () {
        if (this.editor) {
            return this.editor.html();
        } else {
            return ''
        }
    },
     getRawValue: function () {
         if (this.editor) {
             return this.editor.text();
         } else {
             return ''
         }
     }
 });
 
 //首先controller里要引用进来
Ext.define('WMC.controller.Main', {
	extend: 'Ext.app.Controller',
	.....
	views: ['EditWin','WMC.common.view.ExtKindEditor'],
	...

//之后，在需要编辑的Window里，使用
{
	xtype: 'extkindeditor',
	allowBlank: false,
	name: 'Responsibilities',
	height: 140,
		width:670,
	id: 'Responsibilities',
	fieldLabel: '岗位职责'
}

那么还剩一步，如何设置和获取extkindeditor的值呢？

//this.getSkills(),this.getResponsibilities()为refs中配置的get属性

//编辑
	editRecord: function (view, record, item, index) {
		var win = this.getEditWin();
		var form = win.down("form");
		form.loadRecord(record);
		win.show();
		//显示时候，将html的值显示到kindeditor中
		this.getSkills().setValue(record.data.Skills);
this.getResponsibilities().setValue(record.data.Responsibilities);
	},
	//保存
	saveRecord: function () {
		var win = this.getEditWin();
		var form = win.down("form");
		var model = form.getValues();
		//这里是重点，不设置的话，默认是非html格式的
		model.Skills = this.getSkills().getValue();
		model.Responsibilities = this.getResponsibilities().getValue();

		if (form.isValid()) {
			record = form.getRecord();
			var store = this.getMainGrid().getStore();
			if (record) {//如果是修改
				record.set(model);
			}
			else {
				store.add(model);
			}
			win.close();
			store.sync();
		}
	},

OK，Enjoy It！